Purpose and target group
The purpose of the HTTP API description is to enable potential developers to create solutions that perform lookups in the land registry. The description only covers the services for querying the registry. The actual development of client software is not part of this description.
Redundant information between the content of this manual and other documents will be kept to a minimum, while still considering readability. In case of discrepancies, the referenced documents will take precedence.
The target group is architects and developers who need to develop query applications that perform lookups in the land registry.
References
S2S-002 Schema Documentation: Description of the system-to-system interface. You can download the latest S2S Documentation ZIP package from the official Tinglysningsretten website for professional users: Tinglysningsretten - eTL for Professional Users (Look for the "S2S Dokumentation").
HTTP API for Search and Query
The Tinglysning HTTP API is distributed across multiple base URLs to support different authentication methods and integration patterns.
Important: From November 6th 2026 (Release 55), SSL base URLs will be consolidated. See the overview below for details.
| Base URL | Base URL from Release 55 | Login method |
|---|---|---|
https://tinglysning.dk/tinglysning |
https://tinglysning.dk/tinglysning |
Cookie obtained from MitID or NemLog-in |
https://tinglysning.dk/tinglysning/ssl/ |
https://rest-api.tinglysning.dk/ |
2-way SSL using an OCES system certificate |
https://tinglysning.dk/tinglysning/unsecuressl/ |
https://rest-api.tinglysning.dk/ |
2-way SSL using an OCES system certificate |
Generally, responses to searches are formatted in JSON, and responses to final lookups are formatted in XML. In the responses to a search, the found objects will typically be identified by a UUID, which can subsequently be used for lookups.
In the examples in the API overview, the UUIDs and other data used are not real.
SSL
As described, using a URL under /tinglysning requires you to be logged in.
All endpoints are protected via two-way SSL authentication and therefore require an accompanying system certificate issued by the Danish state (OCES3). Furthermore, it is required that the company associated with the certificate is registered in the Land Registry’s two-way SSL authentication system with a system certificate. If a system certificate is not valid or missing, or if the company is not registered, the server will respond with a 401 Unauthorized error.
Below is a simple test example of how this can be done in C#.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
DoSSLTest(@"C:\<path to cert>\FOCES_valid.p12");
private void DoSSLTest(String foces_path)
{
try
{
X509Certificate2 clientCertificate = new X509Certificate2(foces_path, "<password>");
CertificateWebClient myWebClient = new CertificateWebClient(clientCertificate);
String test = @"https://test.tinglysning.dk/tinglysning/ssl/dokaktuel/uuid/3fdd57ef-0e5e-4879-9dd9-ff613dc88a82";
test = myWebClient.DownloadString(test);
Console.WriteLine(test);
}
catch (WebException wex)
{
if (wex.Response != null)
{
System.Net.HttpWebResponse resp = wex.Response as System.Net.HttpWebResponse;
StreamReader streamReader = new StreamReader(resp.GetResponseStream(), System.Text.Encoding.UTF8);
String body = streamReader.ReadToEnd();
Console.WriteLine(body);
} else
{
Console.WriteLine(wex.Message);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
class CertificateWebClient : WebClient
{
private readonly X509Certificate2 certificate;
public CertificateWebClient(X509Certificate2 cert)
{
certificate = cert;
}
protected override WebRequest GetWebRequest(Uri address)
{
HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate (Object obj, X509Certificate X509certificate, X509Chain chain, System.Net.Security.SslPolicyErrors errors)
{
return true;
};
if (!request.ClientCertificates.Contains(certificate))
{
request.ClientCertificates.Add(certificate);
}
return request;
}
}
API Overview
Real Estate (Fast ejendom)
| Endpoint | Description |
|---|---|
Search for real estate using address information. Can be searched with or without floor and door/side. |
|
Search for real estate using the main registration number (BFE-no.). |
|
Search for real estate via an uncadastral area (UMA) identifier. |
|
Search for real estate by specifying the cadastral district ID (landsejerlavid) and cadastral number (matrikelnr). |
|
Retrieve comprehensive property summary information using the property’s UUID. |
|
Retrieve historical title information for a property using its UUID. |
Cooperative Housing (Andelsboliger)
| Endpoint | Description |
|---|---|
Search for cooperative housing units using address information (postal code and street name). Can be searched with or without floor and door/side. |
|
Search for cooperative housing units using the debtor’s name and date of birth. |
|
Search for cooperative housing units using municipality code and road code. Can be searched with or without floor and door/side. |
|
Search for cooperative housing units using a CVR number. |
|
Search for summary information for cooperative housing via UUID. Returned as XML. UUID can be found via another search on cooperative housing. |
Vehicles (Køretøjer)
| Endpoint | Description |
|---|---|
Retrieve the full summary information for a vehicle using its UUID. |
|
Search for vehicles using chassis number, CVR number, or name with date of birth. |
Attachments (Bilag)
| Endpoint | Description |
|---|---|
Retrieve an attachment directly using its UUID. Only public attachments are accessible. |
Document
| Endpoint | Description |
|---|---|
Retrieve current document information using its UUID. |
|
Retrieve current document information using its alias (date-sequence number). |
|
Find a document using its alias and return basic information. |
Document Endorsements (Paategning)
| Endpoint | Description |
|---|---|
Retrieve document endorsements using the document’s UUID. |
|
Retrieve document endorsements using the document’s alias. |
Personal Property Registry (Personbog)
| Endpoint | Description |
|---|---|
Retrieve summary information for a person/company in the personal property registry using their UUID. |
|
Search for persons/companies in the personal property registry using name and CPR number. |
|
Search for persons/companies in the personal property registry using CVR number or name with date of birth. |
Company (Virksomhed)
| Endpoint | Description |
|---|---|
Search for documents related to a company using CVR number. |
|
Retrieve a list of available document types for use in searches. |
|
Retrieve a list of available role types for use in searches. |
|
Check if a company has any registrations in the system. |
Land Registry Objects (Tinglysningsobjekter)
| Endpoint | Description |
|---|---|
Retrieve land registry object information using its UUID. |
|
Retrieve land registry object information using its alias. |
|
Find land registry objects that have been modified within a date range. |
|
Find the latest modification date for a specific land registry object. |
PDF Generation
| Endpoint | Description |
|---|---|
Generate a PDF document containing property summary information. |
|
Generate a PDF document for specific document endorsements. |
|
Generate a PDF document for ATD using UUID. |
|
Generate a PDF document for ATD using alias. |